home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-12-21 | 1.2 KB | 69 lines | [TEXT/MPS ] |
- # Helperl - primitive help script if you don't or can't use MPW 411
-
- # Voodoo to call Perl from the MPW Shell
-
- Perl -Sx "{0}" {"Parameters"}; Exit
-
- #!/usr/local/bin/perl
-
- $help = $ENV{'PERLHELP'} || ":PerlHelp";
-
- open(HELP, "<$help") || die "Couldn't open \"$help\". Don't forget to set PERLHELP.";
-
- if ($#ARGV == -1) {
- $topic = ask("Help topic ?", "PerlHelp") || "PerlHelp";
- $help{$topic} = 1;
- } else {
- foreach $i (@ARGV) {
- $help{$i} = 1;
- }
- }
-
- main: while (<HELP>) {
- next unless (/^╛KY\s+(\w+)/);
-
- # Are we interested in one of the keywords ?
-
- $found = 0;
- for (;;) {
- $found = 1 if ($help{$1});
- last main unless ($_ = <HELP>);
- last if (/^╛/);
- /(\w+)/;
- }
- redo main unless ($found);
-
- help: for (;;) {
- if (/^╛C\s+(.*)/) {
- print "$1\n";
- while ($_ = <HELP>) {
- redo help if (/^╛/);
- print;
- }
- last main;
- } elsif (/^╛KL\s+(\S+)/) {
- do {
- push(@words, $1);
- }╩while (($_ = <HELP>) && !/^╛/ && /(\S+)/);
- $col = 0;
- foreach $i (@words) {
- printf "%-30s", $i;
- print "\n" unless (++$col % 3);
- }
- print "\n";
-
- redo help if (defined $_);
-
- last main;
- } elsif (/^╛KY/) {
- print "\n\n";
- redo main;
- } else {
- while (($_ = <HELP>)) {
- redo help if (/^╛/);
- }
- last main;
- }
- }
- }
-